package com.ruoyi.student.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.teacher.domain.Teacher;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 班级对象 bbl_class
 * 
 * @author ruoyi
 * @date 2023-05-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BblClass extends BaseEntity
{
    /** 班级ID */
    private Long id;

    /** 班级名称 */
    @Excel(name = "班级名称")
    private String name;

    /** 校区 */
    @Excel(name = "校区")
    private Long school;

    /** 班级状态 */
    @Excel(name = "班级状态")
    private Long state;

    /** 开班人数 */
    @Excel(name = "开班人数")
    private Long studentNumber;

    /** 开班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开班日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startClassDate;

    /** 节课日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "节课日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endClassDate;

    /** 班主任ID */
    @Excel(name = "班主任ID")
    private Long classTeacherId;

    /** 就业老师ID */
    @Excel(name = "就业老师ID")
    private Long jobTeacherId;

    /** 助教老师ID */
    @Excel(name = "助教老师ID")
    private Long assistantTeacherId;

    /** 班主任 */
    private Teacher classTeacher;
    /** 就业老师 */
    private Teacher jobTeacher;
    /** 助教老师 */
    private Teacher assistantTeacher;

    /** 该班的所有学生 */
    private List<Student> students;

}
